create_random_sample Subroutine

public subroutine create_random_sample(kohonen_map, input)

Subroutine to generate random values that serve as inputs to the SOM

Type Bound

two_level_self_organizing_map

Arguments

Type IntentOptional Attributes Name
class(two_level_self_organizing_map) :: kohonen_map

A self_organizing_map object

real(kind=wp), intent(out), dimension(:,:) :: input

A real array with the initial values of the prototypes


Calls

proc~~create_random_sample~2~~CallsGraph proc~create_random_sample~2 two_level_self_organizing_map%create_random_sample none~generate rkiss05_generator%generate proc~create_random_sample~2->none~generate

Called by

proc~~create_random_sample~2~~CalledByGraph proc~create_random_sample~2 two_level_self_organizing_map%create_random_sample proc~create_2lsom two_level_self_organizing_map%create_2lsom proc~create_2lsom->proc~create_random_sample~2 proc~set_cluster_layer two_level_self_organizing_map%set_cluster_layer proc~set_cluster_layer->proc~create_random_sample~2 proc~train_two_level_som train_two_level_som proc~train_two_level_som->proc~create_2lsom

Variables

Type Visibility Attributes Name Initial
integer, public :: nvar1
integer, public :: nvar2
integer, public :: i
integer, public :: j

Source Code

   subroutine create_random_sample(kohonen_map,input)
   !========================================================================================
   !! Subroutine to generate random values that serve as inputs to the SOM
      class(two_level_self_organizing_map) :: kohonen_map
   !! A `self_organizing_map` object
      real(kind=wp),dimension(:,:),intent(out) :: input 
   !! A real array with the initial values of the prototypes
      integer :: nvar1,nvar2,i,j
   !
      nvar1=size(input,1);
      nvar2=size(input,2);
      do i=1,nvar1;
         do j=1,nvar2;
            input(i,j)=kohonen_map%rnumber_grator(1)%generate();
         end do
      end do
!    
      end subroutine create_random_sample